<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>杭州三日游行程规划</title>
    <meta name="description" content="杭州三日游行程规划，包含西湖、灵隐寺、西溪湿地等景点的详细信息和天气预报">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" integrity="sha512-9usAa10IRO0HhonpyAIVpjrylPvoDwiPUiKdWk5t3PyolY1cOd4DSE0Ga+ri4AuTroPR5aQvXU9xC6qOPnzFeg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <style>
        :root {
            --primary-color: #1976d2;
            --secondary-color: #f5f5f5;
            --accent-color: #ff9800;
            --text-color: #333;
            --light-text: #fff;
            --border-radius: 8px;
            --box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        body {
            font-family: 'Helvetica Neue', Arial, sans-serif;
            line-height: 1.6;
            color: var(--text-color);
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            background-color: #f9f9f9;
        }
        
        .header {
            text-align: center;
            margin-bottom: 30px;
            padding: 20px;
            background-color: var(--primary-color);
            color: var(--light-text);
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow);
        }
        
        .header h1 {
             margin-bottom: 10px;
         }
         
         .header .subtitle {
             font-size: 1.1em;
             margin-top: 10px;
             opacity: 0.9;
         }
        
        /* 天气卡片样式 */
        #weather-info {
            margin-bottom: 30px;
        }
        
        #weather-info h2 {
            color: var(--primary-color);
            border-bottom: 2px solid var(--primary-color);
            padding-bottom: 10px;
            margin-bottom: 15px;
        }
        
        .weather-card {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 15px;
            margin-bottom: 20px;
        }
        
        .weather-card p {
            background-color: white;
            padding: 15px;
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow);
            margin: 0;
            display: flex;
            align-items: center;
        }
        
        .weather-card i {
            margin-right: 10px;
            font-size: 1.2em;
            color: var(--accent-color);
        }
        
        /* 行程卡片样式 */
        .travel-card {
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow);
            margin-bottom: 20px;
            overflow: hidden;
            position: relative;
            background-color: white;
            transition: transform 0.3s ease;
        }
        
        .travel-card:hover {
            transform: translateY(-5px);
        }
        
        .travel-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        
        .travel-card img.lazyloaded {
            opacity: 1;
        }
        
        .card-content {
            padding: 20px;
        }
        
        .card-content h3 {
            margin-top: 0;
            color: var(--primary-color);
        }
        
        .weather-badge {
            position: absolute;
            top: 10px;
            right: 10px;
            background: rgba(0,0,0,0.7);
            color: white;
            padding: 8px 12px;
            border-radius: 20px;
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 5px;
        }
        
        /* 地图容器样式 */
        #map-container {
            height: 400px;
            margin: 30px 0;
            border-radius: var(--border-radius);
            overflow: hidden;
            box-shadow: var(--box-shadow);
        }
        
        /* 实用信息样式 */
         #practical-info {
             margin: 40px 0;
         }
         
         #practical-info h2 {
             color: var(--primary-color);
             border-bottom: 2px solid var(--primary-color);
             padding-bottom: 10px;
             margin-bottom: 20px;
             display: flex;
             align-items: center;
             gap: 10px;
         }
         
         .info-grid {
             display: grid;
             grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
             gap: 20px;
         }
         
         .info-card {
             background-color: white;
             border-radius: var(--border-radius);
             box-shadow: var(--box-shadow);
             padding: 20px;
         }
         
         .info-card h3 {
             color: var(--primary-color);
             margin-top: 0;
             display: flex;
             align-items: center;
             gap: 10px;
         }
         
         .info-card ul {
             padding-left: 20px;
             margin-bottom: 0;
         }
         
         .info-card li {
             margin-bottom: 8px;
         }
         
         /* 页脚样式 */
         .footer {
             margin-top: 40px;
             padding: 20px;
             text-align: center;
             background-color: var(--primary-color);
             color: var(--light-text);
             border-radius: var(--border-radius);
         }
         
         .footer p {
             margin: 5px 0;
         }
         
         /* 响应式设计 */
         @media (max-width: 768px) {
             .weather-card,
             .info-grid {
                 grid-template-columns: 1fr;
             }
             
             .travel-card img {
                 height: 150px;
             }
             
             #map-container {
                 height: 300px;
             }
         }
         
         /* 打印样式 */
         @media print {
             body {
                 background-color: white;
                 color: black;
                 font-size: 12pt;
             }
             
             .header,
             .footer {
                 background-color: white;
                 color: black;
                 box-shadow: none;
             }
             
             .travel-card,
             .info-card,
             .weather-card p {
                 box-shadow: none;
                 border: 1px solid #ddd;
             }
             
             #map-container {
                 height: 300px;
                 page-break-before: always;
             }
             
             #practical-info {
                 page-break-before: always;
             }
         }
    </style>
</head>
<body>
    <div class="header">
        <h1>杭州三日游行程规划</h1>
        <p>2025年5月25日-5月27日</p>
        <div class="subtitle">探索西湖、灵隐寺、宋城等杭州经典景点</div>
    </div>

    <div id="weather-info">
        <h2>天气预报</h2>
        <div class="weather-card">
            <p><i class="fas fa-cloud-sun"></i> 5月25日：多云 26°C/17°C 东南风1-3级</p>
            <p><i class="fas fa-sun"></i> 5月26日：晴 27°C/17°C 东风1-3级</p>
            <p><i class="fas fa-cloud"></i> 5月27日：多云 27°C/19°C 东风1-3级</p>
        </div>
    </div>

    <div id="itinerary">
        <h2>行程安排</h2>
        
        <div class="travel-card">
            <img src="img/west_lake.jpg" alt="西湖">
            <div class="weather-badge"><i class="fas fa-cloud-sun"></i> 多云 26°C</div>
            <div class="card-content">
                <h3>第一天：西湖景区</h3>
                <p>建议游玩时间：2-3小时</p>
                <p>交通：景点间打车</p>
            </div>
        </div>

        <div class="travel-card">
            <img src="img/lingyin_temple.jpg" alt="灵隐寺">
            <div class="weather-badge"><i class="fas fa-sun"></i> 晴 27°C</div>
            <div class="card-content">
                <h3>第二天：灵隐寺 + 西溪湿地</h3>
                <p>建议游玩时间：全天</p>
                <p>交通：景点间打车</p>
            </div>
        </div>

        <div class="travel-card">
            <img src="img/songcheng.jpg" alt="宋城">
            <div class="weather-badge"><i class="fas fa-cloud"></i> 多云 27°C</div>
            <div class="card-content">
                <h3>第三天：宋城 + 河坊街</h3>
                <p>建议游玩时间：全天</p>
                <p>交通：景点间打车</p>
            </div>
        </div>
    </div>

    <div id="map-container">
        <!-- 高德地图将在这里渲染 -->
    </div>
    
    <div id="practical-info">
        <h2><i class="fas fa-info-circle"></i> 实用信息</h2>
        <div class="info-grid">
            <div class="info-card">
                <h3><i class="fas fa-phone-alt"></i> 紧急联系电话</h3>
                <ul>
                    <li>报警电话: 110</li>
                    <li>急救电话: 120</li>
                    <li>消防电话: 119</li>
                    <li>交通事故: 122</li>
                    <li>杭州旅游咨询: 0571-12301</li>
                </ul>
            </div>
            <div class="info-card">
                <h3><i class="fas fa-exclamation-triangle"></i> 注意事项</h3>
                <ul>
                    <li>西湖景区游览高峰期在上午9点至下午4点，建议错峰出行</li>
                    <li>灵隐寺为宗教场所，请注意着装得体，不要穿短裤、吊带等</li>
                    <li>西溪湿地面积较大，建议提前规划路线，穿舒适的鞋子</li>
                    <li>宋城景区内有表演，请提前查询演出时间</li>
                    <li>雨天游览请携带雨具，夏季注意防晒</li>
                </ul>
            </div>
            <div class="info-card">
                <h3><i class="fas fa-utensils"></i> 特色美食推荐</h3>
                <ul>
                    <li>西湖醋鱼 - 楼外楼</li>
                    <li>东坡肉 - 知味观</li>
                    <li>龙井虾仁 - 外婆家</li>
                    <li>叫花鸡 - 绿茶餐厅</li>
                    <li>杭州小笼包 - 丁香园</li>
                </ul>
            </div>
        </div>
    </div>
    
    <footer class="footer">
        <p>© 2025 杭州旅游攻略 | 行程规划师：旅行大师</p>
        <p>最后更新时间：2025年5月25日 (天气数据来源：高德地图)</p>
    </footer>

    <script>
        // 高德地图API初始化
        function initMap() {
            // 这里需要替换为您的高德地图API Key
            const map = new AMap.Map('map-container', {
                zoom: 12,
                center: [120.153576, 30.287459]
            });
            
            // 添加景点标记
            const pois = [
                {name: '西湖', location: [120.15515, 30.274085]},
                {name: '灵隐寺', location: [120.09524, 30.24678]},
                {name: '西溪湿地', location: [120.0506, 30.2666]},
                {name: '宋城', location: [120.1098, 30.1775]},
                {name: '河坊街', location: [120.1686, 30.2394]}
            ];
            
            pois.forEach(poi => {
                // 创建标记
                const marker = new AMap.Marker({
                    position: poi.location,
                    map: map,
                    title: poi.name
                });
                
                // 添加文本标签
                const label = new AMap.Text({
                    text: poi.name,
                    anchor: 'top-center',
                    offset: new AMap.Pixel(0, -5),
                    style: {
                        'padding': '5px',
                        'background-color': 'rgba(255,255,255,0.7)',
                        'border-radius': '4px',
                        'font-size': '14px',
                        'color': '#333',
                        'border': '1px solid #ddd'
                    }
                });
                
                marker.setLabel(label);
            });
        }
        
        // 图片懒加载
        const lazyLoad = () => {
            const images = document.querySelectorAll('.travel-card img');
            
            const observer = new IntersectionObserver((entries) => {
                entries.forEach(entry => {
                    if (entry.isIntersecting) {
                        const img = entry.target;
                        img.src = img.dataset.src;
                        img.classList.add('lazyloaded');
                        observer.unobserve(img);
                    }
                });
            }, {threshold: 0.1});
            
            images.forEach(img => {
                img.dataset.src = img.src;
                img.src = '';
                observer.observe(img);
            });
        };
        
        // 调用高德地图JS API
        const script = document.createElement('script');
        script.src = 'https://webapi.amap.com/maps?v=2.0&key=44d8b446380a41efbd16c9d566bf4897&callback=initMap';
        script.async = true;
        document.head.appendChild(script);
        
        // 初始化懒加载
        window.addEventListener('DOMContentLoaded', lazyLoad);
    </script>
</body>
</html>